File delivery (or “discrete media delivery”) is an important service, often involving a one-to-many (or “multicast”) transmission topology over systems such as IP multicast, Internet Protocol Device Control (IPDC) and Multimedia Broadcast/Multicast Service (MBMS). Unfortunately, many of the desirable file delivery features provided by point-to-point protocols, such as the File Transfer Protocol (FTP) and the Hyper Text Transfer Protocol (HTTP), are problematic for such one-to-many transmission scenarios. In addition, protocols such as the Transmission Control Protocol (TCP), which provide for the reliable or guaranteed delivery of files through the transmission of acknowledgements (ACKs), are not feasible in such one-to-many transmission scenarios.
The Reliable Multicast Transport (RMT) Working Group of the Internet Engineering Task Force (IETF) is in the process of standardizing two categories of error-resilient multicast transport protocols. In the first category, reliability is implemented through the use of (proactive) Forward Error Correction (FEC). In the second category, through the use of receiver feedback. Asynchronous Layered Coding (ALC) is a protocol instantiation belonging to the first category, while the NACK-Oriented Reliable Multicast (NORM) protocol belongs to the second category. These protocols can be used in a variety of networks. For instance, with respect to wireless multiple access networks, these protocols can be used in Universal Mobile Telecommunications System (UMTS) networks, Wireless Local Area Networks (WLANs), Direct Video Broadcasting-Terrestrial (DVB-T) networks and Direct Video Broadcast-Satellite (DVB-S) networks. Information regarding DVB communications can be found on the Internet at http://www.DVB.org.
File Delivery over Unidirectional Transport (FLUTE) is a transmission method that provides for massively scalable unidirectional multicast transmission. To achieve this functionality, FLUTE builds on FEC and ALC building blocks.
An Electronic Service Guide (ESG) is a set of metadata that is used to describe “programs”, sessions, services and other information that a broadcast service provides. An ESG provides device users with information regarding, for example, programs, services, costs, and the like. An ESG also provides a device with information so that the device may receive the services.
When using FLUTE for transmitting service announcements/descriptions, it is desirable to have a method of grouping (relating) different fragments (or parts) of an ESG together using a session level (or higher or lower) grouping parameter. In addition, it is also desirable to relate objects other than metadata and ESG elements to each other. An example is audio and video files that are transmitted in the same session and form a movie application together. Unfortunately, such transmission methods (as well as receivers and transmitters) do not currently provide grouping capabilities.